////
////  DB.swift
////  XHWalletUtils
////
////  Created by xinph on 2020/5/15.
////  Copyright © 2020 xinph. All rights reserved.
////
//
//import Foundation
//import WCDBSwift
//
//public class DB {
//    var db: Database?
//    static let shared = DB()
//
//    init() {
//        db = Database(withPath: dbPath)
//        db?.setCipher(key: zxbcmbaksd.data(using: .ascii))
//        if allowDebug { print("数据库创建成功！\n\(dbPath)") }
//        do {
//            try db?.create(table: tableName, of: ETH.self)
//            if allowDebug { print("创建表\(tableName)成功!") }
//        } catch(let err)  {
//            print(err)
//        }
//    }
//}
//
//extension DB: DBConfiguration {
//    var allowDebug: Bool { true }
//}
//
//extension DB: DataBase {
//    static func getObjc<Objc>(_ cls: Objc.Type) -> Objc? where Objc : TableCodable {
//        do {
//            let select = try DB.shared.db?.prepareSelect(of: cls.self, fromTable: tableName)
//            do {
//                return try select?.nextObject()
//            } catch (let err)  {
//                print(err)
//                return nil
//            }
//        } catch (let err) {
//            print(err)
//            return nil
//        }
//    }
//
//    static func getAllObjcs<Objc>(_ cls: [Objc.Type]) -> [Objc]? where Objc : TableCodable {
//        var objcs: [Objc] = []
//        do {
//            for type in cls {
//                let select = try DB.shared.db?.prepareSelect(of: type, fromTable: tableName)
//                let objc = try select?.nextObject(of: Objc.self)
//                if objc != nil { objcs.append(objc!) }
//            }
//        } catch (let err) {
//            print(err)
//        }
//        return objcs
//    }
//
//    static func insertOrReplace<Objc>(_ wallet: Objc) where Objc : TableCodable {
//        do {
//            try DB.shared.db?.insertOrReplace(objects: wallet, intoTable: tableName)
//        } catch (let err) {
//            print(err)
//        }
//    }
//}
